var mongoose = require('mongoose');
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
var fs = require('fs'); // fs 读取文件
var multer = require('multer'); // 上传图片

// 数据库地址
var url = 'mongodb://localhost:27017';

// Database Name 数据库名称
var dbName = 'config';
var db;
var collection;
// Use connect method to connect to the server
MongoClient.connect(url, function (err, client) {
    assert.equal(null, err);
    console.log('数据库链接成功.....');
    db = client.db(dbName);
});

var createFolder = function (folder) {
    try {
        fs.accessSync(folder);
    } catch (e) {
        fs.mkdirSync(folder);
    }
};


var uploadFolder = './upload/'; // 上传图片保存目录

createFolder(uploadFolder); // 是否创建文件夹

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, uploadFolder);
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname);
    }
});

var upload = multer({ storage: storage });

// 查询swiper的数据
// var swiperList = function (db, callback) {
//     // Get the documents collection
//     collection = db.collection('swiper');
//     // Find some documents
//     collection.find({}).toArray(function (err, docs) {
//         // assert.equal(err, null);
//         // console.log(docs)
//         callback(docs);
//     });
// }

// 封装数据查询的方法
/**
 * 
 * @param {*} db 当前的数据库名称
 * @param {*} tablename 当前的表名
 * @param {*} callback 回调取值
 */
var getcomData = function (db, tablename, callback) {
    // Get the documents collection
    collection = db.collection(tablename);
    // Find some documents
    collection.find({}).toArray(function (err, docs) {
        // assert.equal(err, null);
        // console.log(docs)
        callback(docs);
    });
}

//定义数据模型
// var personalInfo = new mongoose.Schema({
//     name: String,
//     hobby: String,
//     address: String,
//     livesong: String,
//     detailed: String,
// })

// mongoose.model('personalInfo', personalInfo);//将该Schema发布为Model,第一个参数为数据库的集合，没有会自动创建

// var personal = mongoose.model('personalInfo'); //personal name

// mongoose.Promise = global.Promise;  //为了避免警告的出现，因为mongoose的默认promise已经弃用了

// 上传明星照片及基本数据 
var upLoadStar = function (db, star, callback) {
    // Get the documents collection
    collection = db.collection('personalInfo');
    // Insert some documents
    console.log('star', star)
    collection.insertMany(star, function (err, result) {
        //   assert.equal(err, null);
        //   assert.equal(3, result.result.n);
        //   assert.equal(3, result.ops.length);
        // console.log()
        console.log("Inserted 3 documents into the collection");
        callback(result);
    });
}



module.exports = function (app) {
    app.all("*", function (req, res, next) {
        next();
    });
    // 首页轮播图
    app.get('/swiper', function (req, res) {
        if (db) {
            getcomData(db, 'swiper' , function (data) {
                res.send(data[0])
            });
        }
    })

    // 上传图片及明星基本信息 
    app.post('/upload/star', upload.single('logo'), function (req, res) {

        var result = req.body;
        // destination:
        var uploadObj = [{
            logo: req.file.filename,
            name: result.name,
            hobby: result.hobby,
            address: result.address,
            livesong: result.livesong,
            detailed: result.detailed,
        }]
        // JSON.stringify(uploadObj)
        if (db) {
            upLoadStar(db, uploadObj, function (data) {
                console.log('--help', data);
                res.send('-完成')
            })
        }
    });

    // 获取明星列表
    app.get('/upload/starList', function (req, res) {
        if (db) {
            getcomData(db, 'personalInfo' , function (data) {
                res.send(data)
                // console.log('--')
            });
        }
    })
}


// { 
//     "_id" : ObjectId("5b3cc0184771772774820c80"), 
//     "logo" : "u=393156261,3809191102&fm=27&gp=0.jpg", 
//     "name" : "", 
//     "hobby" : "", 
//     "address" : "", 
//     "livesong" : "", 
//     "detailed" : ""
// }·
// { 
//     "_id" : ObjectId("5b3cc0bcfa49dc08ac8482d9"), 
//     "logo" : "ZhaoLiying.jpg", 
//     "name" : "Zanilia", 
//     "hobby" : "唱歌、舞蹈", 
//     "address" : "河北省廊坊市", 
//     "livesong" : "十年、想你", 
//     "detailed" : "赵丽颖（1987年10月16日—），中国女演员，河北省廊坊市人，毕业于廊坊市电子信息工程学校。2006年，赵丽颖参加雅虎搜星，在冯小刚组获得冠军，开始了自己的演艺道路。早年在《苍穹之昴》、《夏妍的秋天》、《大内低手》、《新红楼梦》等电视剧中便崭露锋芒。2011年，在《新还珠格格》中凭着“晴儿”一角给观众留下深刻印象。2012年，随着在《宫锁珠帘》、《错点鸳鸯/戏点鸳鸯》热播，赵丽颖的名气渐渐上升。2013年，赵丽颖在被称为古装版“杜拉拉升职记”的《陆贞传奇》中饰演女主角“陆贞”深受观众好评，令其知名度大涨。"
// }
// { 
//     "_id" : ObjectId("5b3cc1b7fa49dc08ac8482da"), 
//     "logo" : "FanBingbing.jpg", 
//     "name" : "Fan Bingbing", 
//     "hobby" : "演员、歌手、制片人", 
//     "address" : "山东烟台", 
//     "livesong" : "一眼白头", 
//     "detailed" : "范冰冰，1981年9月16日出生于山东青岛，华语影视女演员、制片人、流行歌手，毕业于上海师范大学谢晋影视艺术学院。"
// }
